home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 6 / FM Towns Free Software Collection 6.iso / ms_dos / happy / error.doc < prev    next >
Encoding:
Text File  |  1993-07-08  |  43.7 KB  |  1,151 lines

  1. ==============================================================================
  2.  
  3.        HAPPy (H.Asano Pascal Processing system) 
  4.                 Version 0.0 
  5.  
  6.          エ ラ ー メ ッ セ ー ジ 説 明 書
  7.  
  8.                           Copyright (c) H.Asano 1992
  9.  
  10. ==============================================================================
  11.  
  12.    ┌────────── 目   次 ───────────┐
  13.    │                            │
  14.    │  1.はじめに                    │
  15.    │  2.コンパイラのエラーメッセージ          │
  16.    │  3.コンパイルエラーメッセージ           │
  17.    │  4.アセンブラのエラーメッセージ          │
  18.    │  5.インタプリタのエラーメッセージ         │
  19.    │  6.インタプリタのランタイムエラーメッセージ    │
  20.    │                            │
  21.     └────────────────────────────┘
  22.  
  23.  
  24.  
  25. 1.はじめに
  26.  
  27.    この説明書では、HAPPyが出力するすべてのエラーメッセージについて原因
  28.   を説明します。
  29.    すべてのエラーメッセージには、メッセージ番号がついています。メッセージ番
  30.   号は英大文字1文字のあとに数字3桁で構成されます。英大文字と説明書の参照す
  31.   る章の対応は以下のとおりです。
  32.     Cxxx : 2章 コンパイラのエラーメッセージ
  33.     Exxx : 3章 コンパイルエラーメッセージ
  34.     Axxx : 4章 アセンブラのエラーメッセージ
  35.     Ixxx : 5章 インタプリタのエラーメッセージ
  36.     Rxxx : 6章 インタプリタのランタイムエラーメッセージ
  37.  
  38.  
  39.  
  40. 2.コンパイラのエラーメッセージ
  41.  
  42.    コンパイルエラー以外のエラーメッセージを以下に示します。このメッセージは
  43.   標準エラー出力に出力されます。
  44.  
  45.   番号  メッセッージ内容
  46. ───────────────────────────────────────
  47.     C001    起動パラメータが誤っている
  48.  
  49.       pcコマンドの起動パラメータに誤りがあります。
  50.       このエラーメッセージの後、簡単な使用法が出力されます。
  51.  
  52.   C002    Pascalソースファイル(%s)がない
  53.  
  54.       起動パラメータで指定したPascalのソースファイルがオープンでき
  55.       ません。%sには指定したソースファイル名が入ります。
  56.  
  57.     C003    P-codeソースファイル(%s)が作れない
  58.  
  59.       何らかの原因で、P-codeソースファイルが作成できません。
  60.       P-codeソースファイルは、環境変数TMPの示すディレクトリに作成され
  61.       ます。TMPの設定内容のチェックをやっていませんので、設定内容によ
  62.       ってはこのエラーが発生することがあります。
  63.       %sには、TMPの設定内容とpcode.pcs をつなげた文字列が入ります。コ
  64.       ンパイラをその名前でファイルをオープンしようとしました。
  65.  
  66.     C004    アセンブラ(PA.OVL)が起動できない
  67.  
  68.       P-codeソースへのコンパイルが正常に終わった後、アセンブラを起動でき
  69.       ません。
  70.       PC.EXEとPA.OVLが同一ディレクトリにないことが考えられます。
  71.  
  72.  
  73.  
  74. 3.コンパイルエラーメッセージ
  75.  
  76.     コンパイルするPascalソースプログラムに文法エラーがあった場合、pc
  77.   コマンドはコンパイルエラーメッセージを標準出力に出力します。
  78.    文法エラーを検出しても、可能であれば続けてプログラムの解析を続けます。
  79.   ただし、P-codeオプジェクトファイルは生成されません。
  80.    コンパイルエラーメッセージは次のような書式で標準出力に出力します。
  81.     ┌──────────────────────────────┐
  82.    │ソースファイル名(行番号) : Exxx: メッセージ内容  │
  83.     └──────────────────────────────┘
  84.  
  85.    もし、お使いのエディタが「タグジャンプ機能」を有しているならば(RED2
  86.   等)、pcコマンドの標準出力をファイルにリダイレクトし、エディタでそのファ
  87.   イルを読み込んで、タグジャンプ機能を使うと、エラーのあった場所にカーソルを
  88.   移動させることができます。
  89.  
  90.    エラーメッセージの番号順に、メッセージ内容とその意味を説明します。
  91.  
  92.   番号  メッセッージ内容
  93. ───────────────────────────────────────
  94.     E001    単純型に誤りがある
  95.  
  96.       単純型とは、順序型(列挙型、部分範囲型、整数型、文字型、論理型)、
  97.       実数型のことをいいます。それらの型の記述に誤りがあります。
  98.  
  99.   E002  名前がない
  100.  
  101.       名前が要求されているところに、名前の記述がありません。
  102.       名前は、英数字からなる文字列で、予約語でないものです。
  103.  
  104.   E003   最初に現れる記号が'program'でない
  105.  
  106.       プログラムソースを最初から読んでいって、記号分離子を読み飛ばした後
  107.       に出てくる最初の記号が、'program' でないということです。
  108.  
  109.   E004   ')' がない
  110.  
  111.       ')' が必要なところに、')' がありません。
  112.  
  113.     E005    ':'がない
  114.  
  115.             ':' が必要なところに、':' がありません。
  116.  
  117.     E006    不当な記号が現れた
  118.  
  119.       構文誤りの時に最もよく起きるエラーです。
  120.       要求される記号以外の記号が現れました。
  121.  
  122.     E007    引数の並びに誤りがある
  123.  
  124.       手続き・関数の宣言における仮引数並びに誤りがあります。
  125.  
  126.     E008    ofがない
  127.  
  128.       'of'が必要なところに、'of'がありません。
  129.  
  130.     E009    '('がない
  131.  
  132.       '(' が必要なところに、'(' がありません。
  133.  
  134.     E010    型の記述に誤りがある
  135.  
  136.       型の記述が要求されるところに、誤った記号があります。
  137.  
  138.     E011    '['がない
  139.  
  140.       '[' が必要なところに、'[' がありません。
  141.  
  142.     E012    ']'がない
  143.  
  144.       ']' が必要なところに、']' がありません。
  145.  
  146.     E013    endがない
  147.  
  148.       'end' が必要なところに、'end' がありません。
  149.       begin とend の対応がとれていない場合に、よく発生します。
  150.  
  151.     E014    ';'がない
  152.  
  153.       ';' が必要なところに、';' がありません。
  154.  
  155.     E016    '='がない
  156.  
  157.       '=' が必要なところに、'=' がありません。
  158.  
  159.     E017    beginがない
  160.  
  161.       E018のエラーとともに発生します。ブロックを開始する'begin' がありま
  162.       せん。
  163.  
  164.     E018    宣言部に誤りがある
  165.  
  166.       宣言部には、ラベル宣言部、定数定義部、型定義部、変数宣言部、手続き
  167.       関数宣言部がありますが、各部はそれぞれの予約語によって始まります。
  168.       その予約語以外のものが現れた場合や、各部の宣言の順序が誤っている場
  169.       合に、このエラーが発生します。
  170.  
  171.     E019    欄の並びに誤りがある
  172.  
  173.             レコードの欄並びに誤りがあります。
  174.  
  175.     E020    ','がない
  176.  
  177.       プログラム引数を区切る',' がありません。
  178.  
  179.     E021    '.'がない
  180.  
  181.       プログラムの最後が'.' でありません。
  182.       begin とend の対応が取れていないことが考えられます。
  183.       このエラー検出後も、引き続きプログラムの解析を続けます。
  184.  
  185.     E022    '..'がない
  186.  
  187.       部分範囲型の下限定数の次の記号が'..'でありません。
  188.  
  189.     E030    不当文字(%s)が現れた
  190.  
  191.       注釈や文字列の中以外で、Pascalで許されない文字が現れました。
  192.       %sには、不当文字が入ります。
  193.       注釈の始めの' {' を忘れていることが考えられます。
  194.  
  195.     E050    定数に誤りがある
  196.  
  197.       定数を必要とするところで、符号、符号なし数、文字列、名前以外が現れ
  198.       ました。
  199.  
  200.     E051    ':='がない
  201.  
  202.       代入文またはfor 文において、':='がありません。
  203.  
  204.     E052    thenがない
  205.  
  206.       if文の、論理式の後に、'then'がありません。
  207.  
  208.     E053    untilがない
  209.  
  210.       'until' が必要なところに、'until' がありません。
  211.  
  212.     E054    doがない
  213.  
  214.       'do'が必要なところに、'do'がありません。
  215.  
  216.     E055    toあるいはdowntoがない
  217.  
  218.       for 文において初期値の次の記号が'to'あるいは'downto'でありません。
  219.  
  220.     E058    項に誤りがある
  221.  
  222.       式を構成する項がに誤りがあります。
  223.  
  224.     E059    変数に誤りがある
  225.  
  226.       変数として使われている名前の次の記号が許されないものの場合にこのエ
  227.       ラーが発生します。
  228.  
  229.     E100   名前(%s)が宣言よりも先に参照されている
  230.  
  231.       その場所の有効範囲において、名前は参照するよりも先に定義・宣言され
  232.       なければなりません。
  233.       %sには、誤りのある名前が入ります。
  234.       例えば、次のような場合はこのエラーが発生します。
  235.          program E100Error;
  236.             const x=1000;           {プログラムブロックで定義したx }
  237.             procedure p;            {ここより手続きp の有効範囲}
  238.               const y=x ;            {手続きp の有効範囲で、x が定義}
  239.                     x=10 ;            {より先に参照されている}
  240.            begin  writeln(y,x) end;      {この行でエラー発生}
  241.         begin p end.
  242.  
  243.    E101    名前(%s)が再度宣言された
  244.  
  245.       その場所の有効範囲において、名前が再び宣言されました。
  246.       %sの部分には再宣言された名前が入ります。
  247.  
  248.     E102    下限が上限より大きい
  249.  
  250.       部分範囲を指定する際の、'..'の前の定数(下限)に、後の定数(上限)
  251.       の値よりも大きなものが指定されました。
  252.  
  253.     E103    名前(%s)の持つ意味が適当でない
  254.  
  255.       名前の持つ意味(定数名/型名/変数名/欄名/手続き名/関数名)が正
  256.       しくありません。
  257.       %sの部分には誤りの名前が入ります。
  258.       例えば、次のような場合にこのエラーが発生します。
  259.         type  a=array[1..10] of char ;
  260.           var   va:a; 
  261.                 vb:va  ;  ・・・・・  vaは変数名。この場所には型を指定し
  262.                                       なければならないので、vaという名前
  263.                                       の意味ガ変数名では適当でない。
  264.  
  265.     E104    名前(%s)が宣言されていない
  266.  
  267.       その場所の有効範囲において、名前が宣言されていません。
  268.       %sの部分には宣言されていない名前が入ります。
  269.  
  270.     E105    定数名(%s) には符号がつけられない
  271.  
  272.       文字列を表す定数名の前に符号がついています。
  273.       %sには、定数名が入ります。
  274.  
  275.     E106    符号のあとに数がない
  276.  
  277.       '+' または'-' の符号の次が数字でありません。
  278.  
  279.     E107    部分範囲型の上限と下限の定数の型が一致していない
  280.  
  281.       部分範囲型の上限と下限の2つの定数が同じ型でありません。
  282.  
  283.     E109    部分範囲型の定数の型が順序型でない
  284.  
  285.       部分範囲型は、下限値と上限値の定数を指定しますが、どちらも順序型の
  286.       定数である必要があります。
  287.  
  288.     E110    タグ型は順序型でなければならない
  289.  
  290.       レコードの可変部に現れるタグ型は、順序型でなければなりません。
  291.  
  292.     E111    可変要素の定数がタグ型の値ではない
  293.  
  294.       レコードの可変要素につける定数は、タグ型の値を表すものでなければな
  295.       りません。
  296.  
  297.     E112    ファイル型の要素型が代入可能なものでない
  298.  
  299.       ファイル型の要素型には、次のものは許されません。
  300.       ・ファイル型
  301.       ・ファイル型を含んでいる構造型
  302.  
  303.     E113    添字型は順序型でなければならない
  304.  
  305.       配列の型定義の配列の添字型、または添字つき変数の添字が順序型であり
  306.       ません。
  307.  
  308.     E115    集合の基底型が順序型でない
  309.  
  310.       集合の基底型は順序型である必要があります。
  311.  
  312.     E116    標準手続き(%s)の引数に誤りがある
  313.  
  314.       宣言済標準手続きの引数に誤りがあります。
  315.       %sには、標準手続き名が入ります。各種の標準手続きの引数誤りに対して
  316.       ほとんどこの1つのメッセージが出力されるので、原因が分かりにくいか
  317.       も知れませんが、文法書などで原因を突き止めてください。
  318.  
  319.     E117    型名(%s)の前方参照が解決されていない
  320.  
  321.       型定義部においてポインタ型の対象型として指定した型名が、その有効範
  322.       囲の型定義部で定義されていません。
  323.       %sには、定義されていない型名が入ります。
  324.  
  325.     E118    前方宣言された手続き/関数(%s)の実体が宣言されていない
  326.  
  327.       forward 指令を使って前方宣言された手続き/ 関数の実体がありません。
  328.  
  329.     E119    前方宣言されているのでここでは引数の並びは書けない
  330.  
  331.       手続きまたは関数が、前方宣言されている時、その手続きまたは関数の標
  332.       示(実体を定義する宣言の頭書き)には、仮引数並びを指定してはいけま
  333.       せん。
  334.  
  335.     E120    関数(%s)の結果型が順序型、実数型、ポインタ型でない
  336.  
  337.       関数の結果型として指定できるのは、順序型名、実数型名、ポインタ型名
  338.       です。これ以外の指定は許されません。
  339.             %sには、関数名が入ります。
  340.  
  341.     E121    仮値引数の型がファイルの要素型として許されるものでない
  342.  
  343.       仮値引数の型に、ファイルの要素型として許されないものが指定されまし
  344.       た。ファイル型の要素型に次のものは許されません。
  345.       ・ファイル型
  346.       ・ファイル型を含んでいる構造型
  347.  
  348.     E122    関数(%s)は前方宣言されているのでここに結果型を書けない
  349.  
  350.       この関数は前方宣言されているので、関数標示は、「function  関数名」
  351.       と指定するだけで良く、関数標示に仮引数並びや結果型を指定してはいけ
  352.       ません。
  353.       %sには、関数名が入ります。
  354.  
  355.     E123    関数(%s)の宣言に結果型がない
  356.  
  357.       関数宣言の関数頭部に、結果型名の指定がありません。
  358.       %sには、関数名が入ります。
  359.  
  360.     E125    標準関数(%s)の引数に誤りがある
  361.  
  362.       宣言済標準関数の引数に誤りがあります。
  363.       %sには、標準関数名が入ります。各種の標準関数の引数誤りに対してすべ
  364.       でこの1つのメッセージが出力されるので、原因が分かりにくいかも知れ
  365.       ませんが、文法書などで原因を突き止めてください。
  366.  
  367.     E126    実引数の数が仮引数の数と一致していない
  368.  
  369.       手続き・関数の宣言で指定した仮引数の数と、その手続き・関数を呼び出
  370.       している実引数の数が合いません。例えば、宣言では引数が3つあるのに
  371.       呼出し側で2つしか指定しなかった場合に、このエラーが発生します。
  372.  
  373.     E127    実引数(%s)と仮引数が同形でない
  374.  
  375.       実手続き引数または実関数引数と、対応する仮手続き引数または仮関数引
  376.       数とが同形でありません。同形については文法書を参照してください。
  377.       %sには、実引数として指定した手続き名または関数名が入ります。
  378.  
  379.     E129    代入文の左辺に対して右辺が代入可能でない
  380.  
  381.       代入文で、左辺と右辺の型が代入可能でありません。
  382.       ここでいう代入可能とは、次のものをいいます。詳しくは文法書を参照し
  383.       て下さい。
  384.       ・左辺と右辺が同じ型で、その型がファイル型の要素型として許される。
  385.       ・左辺が実数型で、右辺が整数型である。
  386.       ・左辺と右辺が適合する順序型である。なお、値の範囲チェックはコンパ
  387.        イル時には行いません。
  388.       ・左辺と右辺が適合する集合型である。なお、値の範囲チェックはコンパ
  389.        イル時には行いません。
  390.       ・左辺と右辺が適合する文字列型である。
  391.  
  392.     E130    in演算子の右辺の式が集合型でない
  393.  
  394.       in関係演算子の右辺の式が集合型でありません。
  395.  
  396.     E131    ポインタは'=' または'<>'の判定しか許されない
  397.  
  398.       ポインタ型に適応できる演算子は'=' または'<>'のみです。
  399.  
  400.     E132    集合には'<'または'>'の判定は許されない
  401.  
  402.       集合には'<','>' の関係演算子を使うことはできません。
  403.  
  404.     E133    ファイルの比較は許されていない
  405.  
  406.             ファイル変数には関係演算子は使えません。
  407.  
  408.     E134    演算対象の型に誤りがある
  409.  
  410.             関係演算子、算術演算子、集合演算子の演算対象の型が誤っています。
  411.  
  412.     E135    %sの演算対象の型は論理型でなければならない
  413.  
  414.       論理演算子の演算対象の型は論理型でなければなりません。
  415.       %sには、and,or,notのいずれかかが入ります。
  416.  
  417.     E136    集合構成子の要素記述が順序式でない
  418.  
  419.       集合構成子の要素記述が順序式でありません。
  420.  
  421.     E137    集合構成子の要素記述の型が一致していない
  422.  
  423.       集合構成子の要素記述において、型が一致しないものが現れました。
  424.  
  425.     E138    変数の型は配列でない
  426.  
  427.       添字つき変数で指定された配列変数が配列型でありません。
  428.  
  429.     E139    添字の型が宣言と一致していない
  430.  
  431.       添字つき変数の添字の順序式が宣言と一致しません。
  432.  
  433.     E140    変数の型がレコード型でない
  434.  
  435.       '.' の前にレコード変数でないものを指定しました。
  436.       あるいはwith文でレコード変数でないものを指定しました。
  437.  
  438.     E141    変数の型がファイル型、ポインタ型でない
  439.  
  440.       変数の後に、' ^' がついている場合、その変数は、ファイル型かポイン
  441.       タ型である必要があります。
  442.  
  443.     E142    仮変数引数と実引数の型が一致していない
  444.  
  445.       変数引数は、宣言部で宣言した仮変数引数の型と、呼び出す側の実変数引
  446.       数の型が同じである必要があります。
  447.  
  448.     E143    関係演算子の被演算子の型が正しくない
  449.  
  450.       関係演算子(= <> <= >= < > in) の左と右のオペランドの型が正しいもの
  451.       ではありません。各関係演算子の被演算子の型については、文法書を参照
  452.       してください。
  453.  
  454.     E144    %sが順序式でない
  455.  
  456.       %sには、"for文の初期値" または、"for文の終値" または"case 文の選択
  457.       式" が入ります。
  458.       これらの式は、順序型を持つ式である必要があります。
  459.  
  460.     E145    for文の制御変数と%sの型が適合しない
  461.  
  462.       for 文の制御変数と、初期値あるいは終値の型が適合していません。
  463.       %sには、 "初期値" または "終値" が入ります。
  464.  
  465.     E146    %sの式が論理式でない
  466.  
  467.       if文、repeat文、while 文の式が論理式でありません。
  468.       %sには、if文、repeat文、while 文のいずれかかが入ります。
  469.  
  470.    E147    case文の選択式の型と定数の型が一致しない
  471.  
  472.       case文においては、選択式の型と選択枝につける定数の型が同じでなけれ
  473.       ばなりません。
  474.  
  475.     E150    標準関数(%s)への代入は許されていない
  476.  
  477.       標準関数名へ代入を行うことはできません。
  478.       例えば、 eoln := true ;    は、このエラーになります。
  479.             %sには、標準関数名が入ります。
  480.  
  481.     E151    関数引数への代入は許されていない
  482.  
  483.       仮関数引数への代入は許されません。
  484.  
  485.     E152    レコードにこのような欄(%s)はない
  486.  
  487.             このレコードには欄指定子で示した欄名がありません。
  488.       %sには、誤っている名前が入ります。
  489.  
  490.     E155    仮値引数に対して実引数が代入可能でない
  491.  
  492.       仮値引数に対する実引数は、代入可能でなければなりません。
  493.       ここでいう代入可能とは、次のものをいいます。詳しくは文法書を参照し
  494.       て下さい。
  495.       ・両者が同じ型で、その型がファイル型の要素型として許される。
  496.       ・仮値引数が実数型で、実引数が整数型である。
  497.       ・両者が適合する順序型である。なお、値の範囲チェックはコンパイル時
  498.        には行いません。
  499.       ・両者が適合する集合型である。なお、値の範囲チェックはコンパイル時
  500.        には行いません。
  501.       ・両者が適合する文字列型である。
  502.  
  503.     E156    case文の定数が再度定義された
  504.  
  505.       case文の選択肢につける定数に、同じ値を指定してはいけません。
  506.  
  507.     E159    実数型、文字列型の定数は指定できない
  508.  
  509.       レコードの可変要素の定数、または長い形式のnew,dispose 標準手続きの
  510.       引数に指定する定数には、実数型、文字列型のものは指定できません。
  511.  
  512.     E160    手続き/関数(%s)はすでに宣言されている
  513.  
  514.       同じ手続きまたは関数を再度宣言しようとしました。
  515.       %sには、手続き名または関数名が入ります。
  516.  
  517.     E161    手続き/関数(%s)が再び前方宣言された
  518.  
  519.       forward 指令で前方宣言された手続きまたは関数が、再びforward 指令で
  520.       宣言されました。
  521.       %sには、手続き名または関数名が入ります。
  522.  
  523.     E162    該当する可変要素選択子がない
  524.  
  525.       長い形式のnew,dispose 標準手続きにおいて、引数に指定した定数に対応
  526.       する可変要素選択子がありません。
  527.  
  528.     E164    ラベルが0から9999の間の整数でない
  529.  
  530.       ラベル宣言部で宣言したラベル、あるいは文の前のラベル、あるいはgoto
  531.       文で参照しているラベルの値が、0 ~9999の整数でありません。
  532.  
  533.     E165    ラベル(%s)が再度定義された
  534.  
  535.       同一有効範囲において、文の先頭のラベルの値に同じものがあります。
  536.       %sにはラベルが入ります。
  537.  
  538.     E166    ラベル(%s)が再度宣言された
  539.  
  540.       同一有効範囲のラベル宣言部に、同じラベル名が宣言されました。
  541.       %sにはラベルが入ります。
  542.       例えば、label 1,1 ; は、このエラーが発生します。
  543.  
  544.     E167    ラベル(%s)が宣言されていない
  545.  
  546.       goto文で参照しているラベル、または文の前につけたラベルが、そのブロ
  547.       ックのラベル宣言部で宣言されていません。
  548.       %sにはラベルが入ります。
  549.  
  550.     E168    ラベル(%s)が定義されていない
  551.  
  552.       ラベル宣言部で宣言したラベルが、その実行部の文の前に1つもついてい
  553.       ません。
  554.       %sにはラベルが入ります。
  555.  
  556.     E173    実関数引数(%s)と仮関数引数の結果の型が異なっている
  557.  
  558.       実関数引数と、対応する仮関数引数の結果の型が異なっています。
  559.       %sには、実関数引数名が入ります。
  560.  
  561.     E174    標準手続き(%s)は実手続き引数として使えない
  562.  
  563.       宣言済の標準手続きを、実手続き引数に指定できません。
  564.             %sには、標準手続き名が入ります。
  565.  
  566.     E175    標準関数(%s)は実関数引数として使えない
  567.  
  568.       宣言済の標準関数を、実関数引数に指定できません。
  569.             %sには、標準関数名が入ります。
  570.  
  571.     E176    関数名(%s)への代入を行っていない
  572.  
  573.       その関数を宣言したブロックの中に、その関数名への代入文が1つもあり
  574.       ません。1つもなければ関数の結果を返却できないので、このエラーが発
  575.       生します。
  576.             %sには、関数名が入ります。
  577.  
  578.     E177    この場所では関数名(%s)への代入は許されない
  579.  
  580.       関数名への代入は、その関数を宣言したブロックの中で行わなければなり
  581.       ません。そうでない場所で関数名への代入を行った際にこのエラーが発生
  582.       します。
  583.             %sには、関数名が入ります。
  584.  
  585.     E178    可変要素の定数に同じものが現れた
  586.  
  587.       レコードの可変部において、同じ値の可変要素の定数が現れました。
  588.  
  589.     E179    タグ型の取り得るすべての値が選択要素の定数に指定されていない
  590.  
  591.       レコードの可変部において、タグ型の取りえるすべての値が選択要素の定
  592.       数に指定されなければなりません。
  593.  
  594.     E186    for文の制御変数(%s)がfor文と同一ブロックで定義されていない
  595.  
  596.       for 文の制御変数は、そのfor 文を含むブロックに局所的でなければなり
  597.       ません。この規則はISO規格によって決められたことで、初期のPas
  598.       calにはないので注意してください。
  599.             %sには、制御変数名が入ります。
  600.  
  601.     E187    for文の制御変数(%s)に変数引数は使えない
  602.  
  603.       for 文の制御変数は、そのfor 文を含むブロックに局所的でなければなら
  604.       ないことから、変数引数は制御変数に使えません。
  605.             %sには、制御変数名が入ります。
  606.  
  607.     E188    for文の制御変数(%s)の型が順序型でない
  608.  
  609.       for 文の制御変数は、順序型でなければなりません。
  610.             %sには、制御変数名が入ります。
  611.  
  612.     E196    プログラム引数に同じ名前(%s)が指定された
  613.  
  614.       プログラム引数で指定した名前は互いに異なっていなければなりません。
  615.             %sには、誤っているプログラム引数名が入ります。
  616.  
  617.     E197    プログラム引数に指定した名前(%s)が宣言されていない
  618.  
  619.       プログラム引数で指定した名前は、input とoutputを除いてプログラムブ
  620.       ロックで変数名として宣言しておく必要があります。
  621.       %sには、宣言されていない名前が入ります。
  622.  
  623.     E201    符号なし実数の表記に誤りがある
  624.  
  625.       符号なし実数の表記が正しくありません。
  626.  
  627.     E202    文字列定数は行を越えてはいけない
  628.  
  629.       文字列定数は、ソーステキスト上の行をまたがって記述できません。
  630.       例えは、
  631.       const title = 'HAPPy is the H.Asano Pascal Processing system. 
  632.                            You can Pascal programing.'
  633.       という記述をした場合、このエラーが発生します。
  634.  
  635.     E203    符号なし整数は2147483647以下でなければならない
  636.  
  637.       符号なし整数の値は、定義済定数maxintの値以下である必要があります。
  638.       HAPPy では、maxintは、2147483647です。
  639.  
  640.     E205    長さ0の文字列は許されない
  641.  
  642.       ''のように、何も囲んでいないような文字列定数表記は、Pascalで
  643.       は許されていません。
  644.  
  645.     E207    HAPPyでは符号なし実数の表記は15文字以内でなければならない
  646.  
  647.       HAPPy 独自の制限です。符号なし実数定数の表記は、15文字以内にして下
  648.       さい。例えば、
  649.           const r = 000003.1492E+000
  650.       では、符号なし実数定数が16文字からなっており、このエラーが発生し
  651.       ます。
  652.  
  653.     E208    HAPPy で扱えない大きな符号なし実数が現れた
  654.  
  655.       符号なし実数の値が、HAPPy で扱える範囲( およそ 3.4E38)を越えていま
  656.       す。逆に小さすぎる数を指定した時は、0に置き換えられるので、エラー
  657.       にはなりません。
  658.  
  659.     E300    この形の%sを使うにはプログラム引数にinput の指定が必要である
  660.  
  661.       %sには、read,readln,eoln,eofのいずれかが入ります。
  662.       それらの標準手続きの引数で、対象となるファイル変数が省略された場合
  663.       には、input が指定されたとみなしますが、input の宣言がありません。
  664.       プログラム引数にinput を指定する必要があります。
  665.  
  666.     E301    この形の%sを使うにはプログラム引数にoutputの指定が必要である
  667.  
  668.       %sには、write,writeln のいずれかかが入ります。
  669.       それらの標準手続きの引数で、対象となるファイル変数が省略された場合
  670.       には、outputが指定されたものとみなしますが、outputの宣言がありませ
  671.       ん。プログラム引数にoutputを指定する必要があります。
  672.  
  673.     E600    HAPPy のinput,output以外の外部ファイル数制限(8) を越えた
  674.  
  675.       HAPPy では、input,outputファイル以外のプログラム引数に指定できるフ
  676.       ァイルの数は8個までです。
  677.  
  678.     E601    HAPPy のcase文の選択肢定数範囲制限(1000)を越えた
  679.  
  680.       HAPPy では、case文の選択肢定数の最大値と最小値の範囲が1000以下でな
  681.       ければなりません。例えば、次のようなcase文はエラーになります。
  682.                 case i of 
  683.                       1 : ; 
  684.                    1001 : ; 
  685.                 end ; 
  686.  
  687.     E602    HAPPyの文字列の長さ制限(256) を越えた
  688.  
  689.       HAPPy では、文字列定数の長さが256 文字以内に制限されています。
  690.  
  691.     E603    HAPPyの名前の入れ子数制限(20)を越えた
  692.  
  693.             HAPPy では、名前の入れ子の最大数は20です。それを越えた場合にこの
  694.       エラーが発生します。
  695.       名前の入れ子には、レコード型の入れ子、手続き・関数の入れ子、引数並
  696.       びの入れ子がありますが、それらが同時に入れ子になる最大数が20以下
  697.       という制限です。
  698.  
  699.     E604    HAPPyの手続き・関数の入れ子数制限(10)を越えた
  700.  
  701.       HAPPy では、手続き・関数の入れ子の最大数は10です。それを超えた場
  702.       合にこのエラーが発生します。
  703.       例えば、次のようなプログラムにおいて、手続きp2は、入れ子2です。
  704.         program nest ;
  705.             procedure p1; 
  706.               procedure p2 ; begin end; 
  707.          begin p2  end;
  708.         begin p1  end.
  709.  
  710.     E605    HAPPyの型の大きさ制限(32767) を越えた
  711.  
  712.       HAPPy 独自の制限です。
  713.       1つの型の大きさは、32767 ワード以下である必要があります。
  714.       1ワードとは、整数型、実数型、文字型、論理型、列挙型、集合型、ポイ
  715.       ンタ型の型の大きさのことをいいます。
  716.       32767 以下の場合でも実行時にスタックが割当できないことがありますが
  717.       32767 以下でないと、正しいP-codeオブジェクトが生成できないので、こ
  718.       ういう制限がついています。
  719.       例えば、type a = array[1..50000] of integer ; はこのエラーになりま
  720.       す。
  721.  
  722.     E606    HAPPy では集合の基底型の順序数範囲に制約がある(0~31) 
  723.  
  724.       HAPPy 独自の制約です。
  725.       集合の型を定義する際、基底型に指定する順序型の取り得る順序数範囲が
  726.       0~31以内でなければなりません。
  727.       したがって、set of char や set of integer あるいは set of -10..10 
  728.       はすべでこのエラーが発生します。
  729.  
  730.     E607    HAPPy の集合構成子要素記述の値制約(0~31) を越えている
  731.  
  732.       HAPPy 独自の制約です。
  733.        [要素記述式・・・] という形をしたものが集合構成子ですが、この要素
  734.       記述式の順序数が0~31以内というHAPPy の制約を越えています。
  735.  
  736.     E608    HAPPyでは局所ファイルを許していない
  737.  
  738.       唯一の標準Pascalの機能未サポート項目です。
  739.       局所ファイルとは、プログラム引数に指定されているファイル型を持つ変
  740.       数以外のもので、外部ファイル実体と結びつかないものをいいます。
  741.       例えば、
  742.         program localfileError(a,b,c) ; 
  743.           type Filetype = file of integer ; 
  744.           var  a,b,c : FileType ;            {外部ファイル OK     }
  745.                localfile1: FileType ;        {プログラム引数にない}
  746.                localfile2: record 
  747.                              r1 : FileType ; {プログラム引数にない}
  748.                            end ;
  749.                localfile3:^FileType ;       {ファイル型へのポインタ}
  750.           procedure p;
  751.             var localfile4 : FileType ;      {手続きに局所的      }
  752.           begin   end;
  753.        begin new(localfile3) end. 
  754.       というプログラムにおいて、変数localfile1からlocalfile4まですべて局
  755.       所ファイルを構成するものなので、このエラーが発生します。
  756.  
  757.     E609    変数割当する記憶域を使い果たした
  758.  
  759.       スタックに変数を割当することができません。コンパイラが生成するP-co
  760.       deで割当可能なスタックの最大数は、32767 ワードです。従って、例えば
  761.          var  a,b,c: array[1..10000] of integer ; 
  762.               d    : array[1..3000]  of integer ; 
  763.       とした場合、変数d をスタック上に割り当てることができませんので、こ
  764.       のエラーが発生します。
  765.  
  766.     E610    プログラムが終わらないままEOFを検出した
  767.  
  768.       プログラムの最後は、'.' である必要がありますが、コンパイラがプログ
  769.       ラムの終わりの'.' を検出する前に、ソースファイルのEOFを検出して
  770.       しまったことを表します。なおEOFとは、End Of File の略で、ファイ
  771.       ルの終わりのことです。
  772.       本当に'.' がないか、あるいはbegin と endの対応がとれていない場合が
  773.       大部分です。
  774.  
  775.     E700    作業エリアが確保できなかった。コンパイルを停止する
  776.  
  777.       このメッセージは純粋なコンパイルエラーではありません。
  778.       コンパイル時に使用するヒープメモリを使い切ったため、これ以上コンパ
  779.       イルを続行できません。このメッセージ出力後コンパイラは停止します。
  780.       なお、現バージョン(Version 0.0)では、ヒープメモリサイズは32768 バ
  781.       イトです。
  782.  
  783.     E701    P-codeソースの出力でエラーが発生した。コンパイルを停止する
  784.  
  785.       このメッセージは純粋なコンパイルエラーではありません。
  786.       P-codeソースを書き込み中、ファイルアクセスエラーが発生したことを表
  787.       します。このメッセージを出力後コンパイラは停止します。
  788.  
  789.  
  790.  
  791. 4.アセンブラのエラーメッセージ
  792.  
  793.    コンパイラから自動起動されるアセンブラ(PA.OVL) では、P-codeソース
  794.   をアセンブルして、P-codeオブジェクトファイルを作成します。その過程で
  795.   何らかのエラーが発生すると、エラーメッセージを標準エラー出力に出力して処理
  796.   を打ち切ります。
  797.    以下に、各々のエラーメッセージについて説明します。
  798.  
  799.  
  800.    番号  メッセッージ内容
  801.  ──────────────────────────────────────
  802.   A001    命令数が多すぎてアセンブルできない
  803.  
  804.       P-code仮想計算機のメモリは8192ワードですが、コンパイラの
  805.       作成したP-codeソースの命令数が8192を越えています。このよ
  806.       うな大きなプログラムはHAPPyでは扱えません。
  807.  
  808.   A002    オブジェクトファイルがオープンできない
  809.  
  810.       何らかの原因により、P-codeオブジェクトファイル(pcode.pco)が
  811.       オープンできません。
  812.  
  813.   A003    オブジクトファイル書き込みでエラーが発生した
  814.  
  815.       P-codeオブジェクトファイルをディスクに書き出している時、何ら
  816.       かの原因でエラーが発生しました。ディスク容量が足らないことが考えら
  817.       れます。
  818.  
  819.   A004    ラベル数が多すぎてアセンブルできない
  820.  
  821.       コンパイラが作成したP-codeソース中のラベル数(Lxの形をした
  822.       もの)が1800を越えているため、アセンブルができません。
  823.  
  824.   A005    定数を格納するメモリを使い果たしてアセンブルできない
  825.  
  826.       P-codeソースに現れる定数をメモリに格納できません。
  827.       命令数が多いか、定数が多い場合に発生します。
  828.  
  829.   A006    P-codeソースファイルがオープンできない
  830.  
  831.       何らかの原因でP-codeソースファイル(pcode.pcs)がオープンでき
  832.       ません。
  833.  
  834.   A007    PC.EXEとPA.OVLのバージョンが違う
  835.  
  836.       コンパイラ(PC.EXE)とアセンブラ(PA.OVL) のバージョンが食い違ってい
  837.       ます。なお、現在はVersion 0.0.しか存在しないので、このエラーは発生
  838.       しません。将来バージョンアップされた際には、両者とも新しい方を使う
  839.       ようにして下さい。
  840.  
  841.  
  842.  
  843. 5.インタプリタのエラーメッセージ
  844.  
  845.    P-codeオブジェクトを実行する前にエラーが発生した場合の、エラーメッ
  846.   セージについて説明します。このメッセージは標準エラー出力に出力されます。
  847.  
  848.  
  849.    番号  メッセージ内容
  850.  ──────────────────────────────────────
  851.    I001     P-codeオブジェクトファイル(pcode.pco) がない
  852.  
  853.       カレントディレクトリにオブジェクトファイルがありません。もう一度コ
  854.       ンパイルしなおして下さい。
  855.  
  856.    I002     P-codeオブジェクトファイル(pcode.pco) が不当である
  857.  
  858.       P-codeオブジェクトファイル(pcode.pco)がHAPPy Paca
  859.       lコンパイラで作られたものではありません。あるいは、アセンブル途中
  860.       で、ファイル書き込みエラーがおきてファイルが完結していません。
  861.  
  862.    I003     コンパイラ(Version %s1) とインタプリタ(Version %s2) のバージョンが
  863.             違う
  864.  
  865.       P-codeオブジェクトを作成したコンパイラ(PC.EXE)と起動したイン
  866.       タプリタ(PI.EXE) のバージョンが食い違っています。なお、現在はVers
  867.       ion 0.0 しか存在しないので、このエラーは発生しません。将来バージョ
  868.       ンアップされた際には、両者とも新しい方を使うようにして下さい。
  869.       メッセージ中の%s1,%s2 の部分には、それぞれのバージョン番号が入りま
  870.       す。
  871.  
  872.  
  873.  
  874. 6.インタプリタのランタイムエラーメッセージ
  875.  
  876.    P-codeオブジェクトを実行中に、ISO規格で規定された誤りやファイル
  877.   障害などを発見した場合、以下のメッセージを標準エラー出力に出力し処理を打ち
  878.   切ります。
  879.         メッセージの形式は以下のとおりです。
  880.   ┌────────────────────────────┐
  881.   │ *** [ADDR=xxxx] HAPPy Run-time error Rxxx:            │
  882.   │      -- メッセージ内容 : 処理打ち切り ***            │
  883.   └────────────────────────────┘
  884.  
  885.    ここで、ADDR=xxxxのx 部分は、エラーの発生した仮想計算機のアドレスを示し
  886.   ています。なお、このアドレスからPascalソース上の場所を見つける方法は
  887.   「HAPPy操作説明書(OPERATE.DOC)」をご覧下さい。
  888.  
  889.     番号  メッセージ内容
  890.  ──────────────────────────────────────
  891.   R001    配列の添字式の値(%d1) が範囲内(%d2~%d3)にない
  892.  
  893.       添字つき変数において、添字式が添字型に対して代入可能でありません。
  894.       %d1 には添字式の値が、%d2,%d3 には添字型の範囲が入ります。
  895.  
  896.    R003    対象変数のポインタ変数の値がnil である
  897.  
  898.       対象変数のポインタ変数値がnil になっています。
  899.  
  900.    R004    対象変数のポインタ変数の値が不定である
  901.  
  902.       対象変数のポインタ変数の値が不定です。
  903.  
  904.     R007    実値引数の値(%d1) が範囲内(%d2~%d3)にない
  905.  
  906.       実引数が、仮値引数に対して代入可能でありません。
  907.       %d1 には実引数の値が、%d2,%d3 には仮値引数の範囲が入ります。
  908.  
  909.    R008    実値引数の集合値が範囲内(%d1~%d2)にない
  910.  
  911.       集合型の実引数が、仮値引数に対して代入可能でありません。
  912.       %d1,%d2 には集合型の仮値引数の元の範囲が入ります。
  913.  
  914.     R009    %s0: %s1( 実ファイル=%s2)が生成モードでない
  915.  
  916.       put,write,writeln,pageを行う対象のファイルが生成モードではありませ
  917.       ん。%s0 にはput,write,writeln,pageのいずれかが、%s1 にはプログラム
  918.       で指定したファイル名、%s2 には実ファイル名が入ります。
  919.  
  920.     R010    %s0: %s1( 実ファイル=%s2)が不定である
  921.  
  922.       put,write,writeln,pageを行う対象のファイルに対してreset またはrewr
  923.       ite を行っていません。%s0 にはput,write,writeln,pageのいずれかが、
  924.       %s1 にはプログラムで指定したファイル名、%s2 には実ファイル名が入り
  925.       ます。
  926.  
  927.    R013    reset: %s1(実ファイル=%s2) が不定である
  928.  
  929.       reset を行う対象のファイルが、存在しません。%s1 にはプログラムで指
  930.       定したファイル名、%s2 には実ファイル名が入ります。
  931.  
  932.     R014    %S0: %s1( 実ファイル=%s2)が検査モードでない
  933.  
  934.       get またはreadをを行う対象のファイルが検査モードでありません。
  935.       %s0 にはget,readのいずれかが、%s1 にはプログラムで指定したファイル
  936.       名、%s2 には実ファイル名が入ります。
  937.  
  938.     R016    %S0: %s1( 実ファイル=%s2)がEOFとなっている
  939.  
  940.       get またはreadをを行う対象のファイルが、ファイルの終わりとなってい
  941.       ます。%s0 にはget,readのいずれかが、%s1 にはプログラムで指定したフ
  942.       ァイル名、%s2 には実ファイル名が入ります。
  943.  
  944.    R017    read: バッファ変数の値(%d1) が範囲内(%d2~%d3)にない
  945.  
  946.       テキストファイル以外のreadにおいて、バッファ変数の値がreadで指定さ
  947.       れた読み込み対象変数に対して代入可能でありません。
  948.       %d1 にはバッファ変数の値が、%d2,%d3 には読み込み対象変数の型の範囲
  949.       が入ります。
  950.  
  951.   R018    write: 式の値(%d1) が範囲内(%d2~%d3)にない
  952.  
  953.       テキストファイル以外のwrite において、write に指定したの式の値が、
  954.       バッファ変数に対して代入可能ではありません。
  955.       %d1 の部分には書き出し対象の式の値が、%d2,%d3 にはバッファ変数の型
  956.       の範囲が入ります。
  957.  
  958.   R023    dispose: 引数の値がnil である
  959.  
  960.       dispose の引数の値がnil です。
  961.  
  962.    R024    dispose: 引数の値が不定である
  963.  
  964.             dispose の引数の値が不定です。
  965.  
  966.    R026    pack: 順序型の引数の値(%d1) が範囲内(%d2~%d3)にない
  967.  
  968.       packの第2引数である順序型の引数の値が詰めなし配列の添字の型の範囲
  969.       内にありません。
  970.       %d1 には順序型の引数の値が、%d2,%d3 には詰めなし配列の添字の型の範
  971.       囲が入ります。
  972.  
  973.   R029    unpack: 順序型の引数の値(%d1) が範囲内(%d2~%d3)にない
  974.  
  975.       unpackの第3引数である順序型の引数の値が詰めなし配列の添字の型の範
  976.       囲内にありません。
  977.       %d1 には順序型の引数の値が、%d2,%d3 には詰めなし配列の添字の型の範
  978.       囲が入ります。
  979.  
  980.   R031    unpack: 転送後に詰めなし配列の添字型を越える
  981.  
  982.       unpackにおいて、詰めあり配列から詰めなし配列へデータ転送後、詰めな
  983.       し配列の添字の範囲内に収まりきりません。
  984.  
  985.     R033    ln:引数の値が0以下である
  986.  
  987.       0以下の自然対数を求めようとしました。そういう値は存在しません。
  988.  
  989.     R034    sqrt:引数の値が負である
  990.  
  991.       負の平方根を求めようとしました。そういう値は存在しません。
  992.  
  993.   R037    chr: 引数の値(%d)に対応する文字がない
  994.  
  995.       chr 標準関数の引数の値は、0~255の範囲でなければなりません。
  996.  
  997.    R040  eof: %s1( 実ファイル=%s2)が不定である
  998.  
  999.       eof を行う対象のファイルに対して、reset またはrewrite を行っていま
  1000.       せん。%s1 にはプログラムで指定したファイル名、%s2 には実ファイル名
  1001.       が入ります。
  1002.  
  1003.    R041  eoln: %s1(実ファイル=%s2)が不定である
  1004.  
  1005.       eolnを行う対象のファイルに対してreset またはrewrite を行っていませ
  1006.       ん。%s1 にはプログラムで指定したファイル名、%s2 には実ファイル名が
  1007.       入ります。
  1008.  
  1009.     R042    eoln: %s1(実ファイル=%s2)がEOFとなっている
  1010.  
  1011.       eolnを行う対象のファイルが、ファイルの終わりとなっています。
  1012.       %s1 にはプログラムで指定したファイル名、%s2 には実ファイル名が入り
  1013.       ます。
  1014.  
  1015.     R044    /演算子:0 で割ろうとしている
  1016.  
  1017.       実数の割り算で、0で割ろうとしています。
  1018.  
  1019.   R045    div 演算子: 0 で割ろうとしている
  1020.  
  1021.       整数の割り算で、0で割ろうとしています。
  1022.  
  1023.   R046    mod 演算子: 右辺値が0 または負である
  1024.  
  1025.       mod 演算子の右辺値が0か負です。
  1026.  
  1027.    R049    代入文: 右辺値(%d1) が範囲内(%d2~%d3)にない
  1028.  
  1029.       代入文の右辺値が、左辺の型に対して代入可能ではありません。
  1030.       %d1 には右辺値が、%d2,%d3 には左辺の型の範囲が入ります。
  1031.  
  1032.   R050    代入文: 集合値が範囲内(%d1~%d2)にない
  1033.  
  1034.       代入文の左辺が集合型の場合、右辺値が左辺の型に対して代入可能ではあ
  1035.       りません。%d1,%d2 には集合の元の範囲が入ります。
  1036.  
  1037.   R051    case文: 選択式の値(%d)に合致する選択定数がない
  1038.  
  1039.       case文に入った時、選択式の値に合致する選択定数がありません。
  1040.             なお、このメッセージでは、%dの部分に選択式の値が埋め込まれる場合と
  1041.       (%d)という部分のないメッセージの2種類があります。
  1042.  
  1043.    R052    for 文: 初期値(%d1) が範囲内(%d2~%d3)にない
  1044.  
  1045.       for 文の文が一回でも実行される時、初期値が制御変数に対して代入可能
  1046.       ではありません。%d1 には初期値が、%d2,%d3 には制御変数の型の範囲が
  1047.       入ります。
  1048.  
  1049.    R053    for 文: 終値(%d1) が範囲内(%d2~%d3)にない
  1050.  
  1051.       for 文の文が一回でも実行される時、終値が制御変数に対して代入可能で
  1052.       はありません。%d1 には終値が、%d2,%d3 には制御変数の型の範囲が入り
  1053.       ます。
  1054.  
  1055.    R054    read: %s1(実ファイル=%s2)から符号付き整数の形式でないものを読もう
  1056.       とした
  1057.  
  1058.       テキストファイルから整数を読み込む場合、符号付き整数の形式でないも
  1059.       のを読もうとしました。または、符号なし整数がmaxint(2147483647)より
  1060.       も大きい値です。
  1061.       %s1 にはプログラムで指定したファイル名、%s2 には実ファイル名が入り
  1062.       ます。
  1063.  
  1064.     R056    read: %s1(実ファイル=%s2)から符号付き数の形式でないものを読もうと
  1065.       した
  1066.  
  1067.       テキストファイルから実数を読み込む場合、符号付き数の形式でないもの
  1068.       を読もうとしました。
  1069.       %s1 にはプログラムで指定したファイル名、%s2 には実ファイル名が入り
  1070.       ます。
  1071.  
  1072.    R071    read: 集合型のバッファ変数の値が範囲内(%d1~%d2)にない
  1073.  
  1074.       テキストファイル以外のreadにおいて、集合型のバッファ変数の値がread
  1075.       で指定された読み込み対象変数に対して代入可能でありません。
  1076.       %d1,%d2 には集合型の読み込み対象変数の元の範囲が入ります。
  1077.  
  1078.    R072    write:集合型の式の値が範囲内(%d1~%d2)にない
  1079.  
  1080.       テキストファイル以外のwrite において、write に指定したの集合型の式
  1081.       の値が、バッファ変数に対して代入可能ではありません。
  1082.       %d1,%d2 には集合型のバッファ変数の元の範囲が入ります。
  1083.  
  1084.     R081    reset:%s1(実ファイル=%s2)に対してresetはできない
  1085.  
  1086.       標準のテキストファイルinput,outputに対してはユーザプログラムからre
  1087.       set することができません。
  1088.       %s1 にはinput またはoutput,%s2 には標準入力または標準出力が入りま
  1089.       す。
  1090.  
  1091.     R082    rewrite:%s1(実ファイル=%s2)に対してrewriteはできない
  1092.  
  1093.       標準のテキストファイルinput,outputに対してはユーザプログラムからre
  1094.       write することができません。
  1095.       %s1 にはinput またはoutput,%s2 には標準入力または標準出力が入りま
  1096.       す。
  1097.  
  1098.    R111    集合構成子の順序式の値(%d)がHAPPyの制限範囲内(0~31) にない
  1099.  
  1100.       HAPPy 独自の制約です。集合構成子の順序式の順序数が 0~31の間に有り
  1101.       ません。%dには順序式の値が入ります。
  1102.  
  1103.    R121    new:メモリ不足で割り付けができない
  1104.  
  1105.       new 標準手続きで対象変数を割りつけられるだけのヒープメモリがありま
  1106.        せん。
  1107.  
  1108.    R122    スタック用のメモリが不足している
  1109.  
  1110.       仮想計算機のスタックを使い果たしました。
  1111.       オブジェクトサイズが大きくて、スタックメモリが少ない場合や、ヒープ
  1112.       メモリをたくさん使っている場合、あるいは再帰処理の呼び出しネストが
  1113.       深い場合に発生します。
  1114.  
  1115.     R131    %s0: %s1( 実ファイル=%s2)で障害が発生した
  1116.  
  1117.       put,get において、何らかのファイル障害が発生しました。
  1118.       %s0 には、put,get のいずれかが、%s1 にはプログラムで指定したファイ
  1119.       ル名、%s2 には実ファイル名が入ります。
  1120.  
  1121.     R132    rewrite: %s1( 実ファイル=%s2)のオープンができない
  1122.  
  1123.       rewrite において、何らかの原因でファイルのオープンができません。
  1124.       %s1 にはプログラムで指定したファイル名、%s2 には実ファイル名が入り
  1125.       ます。
  1126.  
  1127.    R142    未定義命令を実行しようとした
  1128.  
  1129.       通常はこのエラーは発生しません。オブジェクトファイルが完結していな
  1130.       か、ユーザプログラムが暴走した場合に発生します。
  1131.  
  1132.   R150    実数演算で異常がおきた(%s)
  1133.  
  1134.       実数の演算または操作において、異常が発生しました。
  1135.       %sに入る文字とその意味は次の通りです。
  1136.        invalid        ・・・  演算が無効です。無限大などです。
  1137.         overflow        ・・・ 数が大きすぎるためにオーバーフローしまし
  1138.                                 た。
  1139.         stack overflow  ・・・  浮動小数点式がスタックをオーバーフローし
  1140.                    ました。
  1141.        stack underflow ・・・  浮動小数点式がスタックをアンダーフローし
  1142.                    ました。
  1143.  
  1144.   R152    <CTRL-C>を受け付けた
  1145.  
  1146.       キーボードから、<CTRL-C>が押されました。
  1147.  
  1148.  
  1149.  
  1150.        ─────── 以上 (ERROR.DOC   終わり)   ──────
  1151.